﻿<?php 
//Config : Les informations personnels de l'instance (log, pass, etc)
require("../../include/config.php");

//API Fonctions : les fonctions fournis de base par l'API
require("../../API/php/fonctions.php");

//Header établie la connection à la base $connection
require("../../API/php/header.php");

//Mode debug
$modeDebug = false;

//Public ou privé (clé obligatoire)
$modePublic = true;

//Mode de sortie text,json,xml,csv
//pour xml et csv $object_retour->data["resultat"] doit contenir qu'un est unique array
$modeSortie = "json";

//Liens de test
// API_RH/phpsql/mysql_getDataRapportRH5.php?milis=123456789&dateBegin=01022014&dateEnd=02032014&filtreUsers=

// IN obligatoire
$arrayInput = array(
    "dateBegin" => null,
    "dateEnd" => null
);

//Définition des entrants optionel
$arrayInputOpt = array(
    "filtreUsers" => ""
);

//Récupération des entrants
$arrayValeur = recupInput($arrayInput,$arrayInputOpt);

//Object retour minima
// $object_retour->strErreur string
// $object_retour->data  string
// $object_retour->statut  string

//------------------------------------------------------------------
if ($arrayValeur["filtreUsers"] != ""){
    $strFiltreUsers = "AND a.`user` in (".$arrayValeur["filtreUsers"].")";
}else{
    $strFiltreUsers = "";
}

$strSql = "
    SELECT `type`, `description`, `user`, `commentaire`, SUM(`charge`) as 'nb'
    FROM `".$prefixTable."tab_suivihebdo_enreg` a, `".$prefixTable."tab_suivihebdo_type_activite` b
    WHERE 1=1
    AND a.`type` = b.`id`
    AND a.`type` not in (24, 1, 2, 3, 35, 36)
    ".$strFiltreUsers."
    AND a.`date_saisi` between STR_TO_DATE('".$arrayValeur["dateBegin"]."','%d%m%Y') AND STR_TO_DATE('".$arrayValeur["dateEnd"]."','%d%m%Y')
    GROUP BY `type`, `user`, `commentaire`
    ORDER BY `type`, `user`, `commentaire`
;";
// On envois la requète
$req = $connection->prepare($strSql);

if($req->execute()){
    // On indique que nous utiliserons les résultats en tant qu'objet
    $req->setFetchMode(PDO::FETCH_OBJ);

    // On transforme les résultats en tableaux d'objet
    $resultats = new stdClass();
    $resultats->data = $req->fetchAll(PDO::FETCH_OBJ);
    $resultats->nombre = count($resultats->data);

    $object_retour->data["resultat"] = $resultats;
}else{
    $error = 'Erreur SQL:'.print_r($req->errorInfo(), true)." (".$strSql.")";
    $object_retour->strErreur = $error;
}
$req->closeCursor();
//--------------------------------------------------------------------------

require("../../API/php/footer.php");
?>